Object-Oriented Application Development in CAD: A Graduate Course
نویسندگان
چکیده
The programming languages typically offered by CAD systems for third-party application developers were procedural or functional. A major shift is currently occurring in that new versions of commercial CAD software will support object-oriented programming languages for application development. Developers who wish to take advantage of this new kind of environment must undergo a considerable cognitive “retooling” and adopt new software engineering strategies. We describe a graduate course that aims at introducing students to effective object-oriented development strategies, especially use case-driven development and the tools provided by the Unified Modeling Language (UML). Students gained experience with these tools by forming, together with the instructors, a single development team writing an application on top of MicroStation/J using JMDL as programming language. The paper describes the instructors’ experience with this approach. 1 Background and Motivation In the second half of the last decade, researchers from the School of Architecture and the HumanComputer Interaction Institute (HCII) at Carnegie Mellon University (CMU) investigated the interaction between MicroStation (MS) and its users in a real-world setting (Bhavnani et al. 1996, 1999). For the purposes of the present paper, the most important result of the study has been the discovery of strategic knowledge and its crucial role in making the use of a tool like a CAD system efficient. To use a metaphor used by one of our sponsors: Suppose a cabinetmaker has a well-organized woodshop, with each tool well understood, sharpened, and easy to reach. But if she is asked to create a table, knowing each individual tool well is not enough: She also has to know how to structure the overall task effectively, which tools to select for any step, and how to use them for each step. Note that this strategic knowledge is task-dependent. It represents a task-specific layer of knowledge above the tool level. The study showed that MS users often do not employ the most efficient strategies in this sense. In response to this, members of the study team developed a course called Strategic Use of CAD at CMU. The goal was to develop and test methods that teach students strategic knowledge hand-in-hand with command knowledge. The course was taught three times between 1998 and 2000. Course assessments based on in-class data collection strongly suggest that it succeeded. The course described in the present paper aims at extending this strategic approach to application programming on top of a CAD system. The programming languages typically offered by CAD systems for third-party application developers have been procedural or functional. A major shift is currently occurring in that new versions of commercial CAD software support object-oriented programming languages for application development. Developers who wish to take advantage of this new kind of environment must undergo a considerable cognitive “retooling” and adopt new software engineering strategies: “Using object-oriented design, the designers will stay away, as long as possible, from the
منابع مشابه
Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملساختار دهی آنی دادههای مکانی ورودی GIS با تأکید بر عارضه راه
An important issue in implementation of a GIS system is preparation of data to be entered in GIS. To produce spatial data for GIS using photogrammetric techniques, conventional method is to apply photogrammetric and GIS systems individually (off-line procedure). This approach is costly, time consuming and somehow unreliable due to the fact that 3D photogrammetric model is not available at the ...
متن کاملObjects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques
Analysis and design of object oriented is onemodern paradigms for developing a system. In this paradigm, there are several objects and each object plays some specific roles. Identifying objects (and classes) is one of the most important steps in the object-oriented paradigm. This paper makes a literature review over techniques to identify objects and then presents six taxonomies for them. The f...
متن کاملObject-Oriented Software Engineering - a Use Case Driven Approach
object-oriented software engineering: a use case driven object oriented software engineering a use case driven object-oriented software engineering a use case driven a use-case driven approach to formal service-oriented ccis 17 a use-case driven approach to formal service object oriented software engineering ivar jacobson pdf process-oriented requirement analysis supporting the data a use case ...
متن کاملUsing Aspects with Object-Oriented Frameworks
We investigate potential uses of aspect-oriented programming in the context of object-oriented C++ frameworks used in the development of VLSI CAD applications. We use existing applications to explore the use of different kinds of aspects. We differentiate between framework-based aspects and application-specific aspects. Framework-based aspects modularize cross-cutting code based on how an appli...
متن کامل